import { createWebHistory, createRouter, RouteRecordRaw } from 'vue-router';

// 定义页面组件懒加载
const Login = () => import('@/views/login.vue');
const Register = () => import('@/views/register.vue');
const Error401 = () => import('@/views/error/401.vue');
const Error404 = () => import('@/views/error/404.vue');
const Index = () => import('@/views/index.vue');

// 公共路由 - 所有页面都是独立页面
export const constantRoutes: RouteRecordRaw[] = [
    {
        path: '/login',
        name: 'Login',
        component: Login,
        meta: { title: '登录', hidden: true }
    },
    {
        path: '/register',
        name: 'Register',
        component: Register,
        meta: { title: '注册', hidden: true }
    },
    {
        path: '/401',
        name: 'Error401',
        component: Error401,
        meta: { title: '无权限', hidden: true }
    },
    {
        // 根路径直接指向首页
        path: '/',
        name: 'Index',
        component: Index,
        meta: { title: '首页', affix: true }
    },
    {
        // 404 页面兜底，必须放最后
        path: '/:pathMatch(.*)*',
        name: 'Error404',
        component: Error404,
        meta: { hidden: true }
    }
];

// 动态路由（空，按需扩展）
export const dynamicRoutes: RouteRecordRaw[] = [];

/**
 * 创建路由实例
 */
const router = createRouter({
    // 使用环境变量中的上下文路径（如 '/admin/'），若无则为 '/'
    history: createWebHistory(import.meta.env.VITE_APP_CONTEXT_PATH || '/'),
    routes: constantRoutes,
    scrollBehavior() {
        return { top: 0 };
    }
});

export default router;
